widget: Don't lose a layout manager ref
authorMatthias Clasen <mclasen@redhat.com>
Wed, 3 Jul 2019 13:16:35 +0000 (13:16 +0000)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 3 Jul 2019 13:18:41 +0000 (09:18 -0400)
gtk_widget_set_layout_manager is transfer-full,
so we must give it a new reference from set_property
to implement object property semantics properly.

gtk/gtkwidget.c

index dd6e67dda7209a56da42c84cd37ed244a2f38cc2..42ba75037581fe85d624c22573a611cabe7a7b64 100644 (file)
@@ -2303,7 +2303,7 @@ gtk_widget_set_property (GObject         *object,
         gtk_css_node_set_name (priv->cssnode, GTK_WIDGET_GET_CLASS (widget)->priv->css_name);
       break;
     case PROP_LAYOUT_MANAGER:
-      gtk_widget_set_layout_manager (widget, g_value_get_object (value));
+      gtk_widget_set_layout_manager (widget, g_value_dup_object (value));
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);